## Packages used for thesis analysis
knitr::opts_chunk$set(echo = TRUE)
packages_needed <- c("ggplot2", # graphics
"arm", # display() etc.
"ggfortify", # check model assumptions
"AICcmodavg",
"grid"
)
pk_to_install <- packages_needed [!( packages_needed %in% rownames(installed.packages()) )]
if(length(pk_to_install)>0 ){
install.packages(pk_to_install,repos="http://cran.r-project.org")
}
#lapply(packages_needed, require, character.only = TRUE)
library(ggplot2)
library(arm)
library(ggfortify)
library(AICcmodavg)
library(grid)
library(tidyr)
library(dplyr)
library(knitr)
library(readr)
library(nlme)
library(lme4)
library(MuMIn)
library(readr)
library(rgdal)
library(ggplot2)
library(plyr)
library(arm)
library(MASS)
library(ggfortify)
library(AICcmodavg)
library(pspearman)
library(patchwork)
library(cowplot)
library(rmdformats)
Life history suggest that individuals adopt optimized allocation strategies to partition available energy to the competing processes of maintenance, growth, and reproduction (Fisher 1930; Stearns 1976; Congdon and Tinkle 1982; Congdon et al. 1982). Reproductive output is constrained by both energy availability and by limitations of the environment (James and Whitford 1994).Thus, the energetic resources available for reproduction are finite and often tradeoffs exist between allocating energy towards mate acquisition (search time and courtship), number and size of offspring,and parental care (Congdon and Tinkle 1982; Congdon 1989). In reproducing individuals these tradeoffs can come at the cost of increased food requirements, increased chances of mortality, slowed growth, and reduced mobility (Coleman and Whittall 1988; Tallamy and Denno 1982; Shine 1980).
Theoretical models suggest that energetic costs of reproduction can be put in two major components: 1) reproductive effort, the total resources available to be allocated to reproductive activities (courtship, egg production) and 2) parental investment, how total reproductive effort is allocated towards individual offspring (Congdon et al. 1982). Parental investment can be further partitioned into embryogenesis, parental investment to embryo development, and care of offspring pre or post birth (Congdon 1989; Congdon and Gibbons 1985). Parental care has most often been studied in species where offspring survival is primarily influenced by maternal investment post-birth, as in many altricial mammals and birds (Broderick et al. 2003; Rafferty and Reina 2012). In oviparous reptiles, however, the investment of energy to parental care is primarily limited to eggs prior to oviposition (Packard and Packard 1988). Available energy is budgeted into mate acquisition and fertilization, vitellogenesis, egg production, oviductal egg retention (post-fertlization), and nest site selection (Owens 1980; Wallace et al. 2006; Congdon et al 1983; Congdon 1989).
Oviductal egg retention is a pivotal reproductive strategy for regulating timing in oviposition in many oviparous species (Renfree and Shaw 2000; Lopes et al 2004; Rafferty and Reina 2012). Egg retention allows reproductive flexibility by permitting females the ability to prolong oviposition until environmental conditions are suitable or until they can locate appropriate nesting sites. They may also use this strategy to time oviposition to increase the chances of synchronized hatching of clutches among conspecifics…predator dilution (Ewert 1979; Andrews 2004; Rafferty and Reina 2012). Squamates, crocodilians, and chelonians have the greatest diversity in prolonging egg retention (Ewert 1991). The oviductal egg retention period and developmental arrest for most squamates is about 25%- 40% of the total embryonic period, while in turtles this period can be more prolonged (Shine 1983; DeMarco 1993; Ewert 1985; Rafferty and Reina 2012; Andrews and Mathies 2000).
Most turtles exhibit oviductal egg retention (Ewert 1985), and once eggs have been fertilized, they develop a calcified shell and are retained in the oviduct. Embryonic development is then arrested, and eggs remain at the Gastrula stage and are retained for an extended period of time before oviposition (Ewert 1985; Rafferty and Reina 2012). Timing of oviductal egg retention differs among chelonians with some species retaining eggs for only a couple of days as observed in the leatherback sea turtle (<10 days) (Boulon et al. 1996; Girondot and Fretey 1996) to some species retaining eggs for a couple months (Pseudemydura umbrina 35-49 days) to others retaining eggs for half a year (Deirochelys reticularia 4-6.5 months) (Kutchling 1999; Buhlmann et al. 1995). Despite pronounced differences in duration of egg retention, no studies have yet focused on the energetic costs of this important life strategy, rather most studies have primarily focused on the total energetic costs of reproduction (Schwarzkopf and Shine 1992; Stewart 2013).
Thus, the aim of this study was to assess the energetic cost of oviductal egg retention in Eastern Musk Turtles (Sternotherus odoratus), a species that actively uses oviductal egg retention over the reproductive season (Risley 1933). Because the embryos undergo developmental arrest during the oviductal egg retention period, and because they are at a relatively early and metabolically quiescent gastrula stage, the energetic cost to females maintaining the embryos in the oviduct should be low.
Hypothesis: We hypothesize that oviductal egg retention is a beneficial reproductive strategy because it permits flexibility in timing of oviposition at a relatively low energetic cost to the mother. .
jonestrap
-Turtles were collected using Jones Traps
-Turtles were marked, weighed, and length of carapace and plastron was measured
-Females were x-rayed to determine whether they were gravid
-Turtles housed for three days prior to sampling and allowed to become digestively post absorptive
-Open-circuit respirometry was used to measure CO2 production for 48 hrs.
-Closed-circuit respirometry was used to measures O2 consumption 24 hrs after oviposition
-Conversion factors were used to convert metabolic measurements to joules/hr
-Metabolic rates were adjusted for mass and an ANCOVA with a pairwise analysis was run
-A Mixed model was run to determine signficant effects on female metabolic rate
-Repeated measures ANOVA with a post hoc was run to determine if gravid metabolic rates over time were signficant
Musk Turtles (Sternotherus odoratus) were captured from backwater sloughs along the Cumberland River, Cheatham County, Tennessee using Jones traps (Chandler et al. 2017).Traps were baited with canned tuna or sardines and placed in water deep enough to be mostly submerged, which allowed them to be left overnight and be checked the following day. Traps were left in the same location for a week prior to being moved. Traps were placed in murky/muddy water with duckweed covering.Trapping was conducted during the reproductive season from mid-May to September (Mitchell 1985, Ernst 1986, Ford and Moll 2004).
packages<-c("ggsn","leaflet","mapdata","maptools","OpenStreetMap","rgdal","smoothr","sf","sp","tidyverse","tmap")
sapply(packages, require, character.only=T)
## ggsn leaflet mapdata maptools OpenStreetMap
## TRUE TRUE TRUE TRUE FALSE
## rgdal smoothr sf sp tidyverse
## TRUE TRUE TRUE TRUE TRUE
## tmap
## TRUE
state <- map_data("state")
county <- map_data("county")
swamp_point <- data.frame("x" = -87.079223, "y" = 36.285647)
tn <- county %>%
filter(region=="tennessee")
montco <- county %>%
filter(region=="tennessee") %>%
filter(subregion=="cheatham")
map1<- ggplot() + geom_polygon(data = state, aes(x=long, y = lat, group = group),
fill = "white", color="black") +
geom_polygon(data = tn, aes(x=long, y = lat, group = group),
fill = "lightgrey", color="black") +
geom_polygon(data = montco, aes(x=long, y = lat, group = group),
fill = "darkgoldenrod2", color="black") +
geom_point(data = swamp_point, aes(x=x,y=y), color=" black") +
coord_fixed(xlim = c(-91, -81), ylim = c(34, 37), ratio = 1.2) +
xlab("Longitude") + ylab("Latitude") + ggtitle("Ashland City, Cheatham Co., TN")
map1
sterno_traping <- read_csv("sterno_traping.csv")
library(leaflet)
pal <- colorFactor(c( "brown", "darkgoldenrod2"), level = c("Absence", "Presence"))
map2<-leaflet(sterno_traping) %>% addProviderTiles(providers$Esri.WorldImagery) %>%
addCircleMarkers(
color = ~pal(Trap_Status),
stroke = FALSE, fillOpacity = 0.5
)%>%
addLegend("bottomright", pal = pal, values = ~Trap_Status,
title = "Turtle Trap Success",
opacity = 1)
## Assuming "longitude" and "latitude" are longitude and latitude, respectively
map2
All turtes were brought back to the lab to be measured, given a unique marking, and if female were x-rayed to determine reproductive state (Gravid vs Non-Gravid)
Carbon dioxide production (VCO2) was measured for each individuals using flow through respirometry(Lighton 2008)
Metabolic measurements were taken once for males and non-gravid females, while both gravid metabolic rate and post oviposition metabolic rates were determined for each gravid female
Before intitiating a metabolic trial, turtles were fasted for 72 hours to allow food to clear the gut and ensure a post-absorptive digestive state
Temperature was controlled at a constant 25 degrees celcius and a 12:12 photoperiod was used for the duration of a 48 hr testing cycle
Carbon dioxide production was calculated at 3 sec intervals for the 48 h testing cycle, and the most level 15 min period from each 30 min sample was used to calculate the rate of gas exchange using the equations from Withers (1977) implemented in the program Lab Analyst (Warthog Systems)
Metabolic rate for each individual was considered to be the mean of the three lowest 15 min measurements during 48 h test period
Gravid females were measured over a weekly basis to obtain multiple measurements and were allowed to naturally oviposit eggs within a nest
Clutch metabolic rates were measured 24 hours post-oviposition using closed circuit O2 respirometer
Sterno_All <- read_csv("Sterno_All.csv")# this data sett includes data for males, gravid females, and non-gravid females
names(Sterno_All) <- c("Turtle_ID", "Group", "mL_CO2_hr_turtles", "Turtle_Mass","ml_O2_min_eggs", "whole_clutch_mass","ml_O2_hr_eggs")
Adjusting for Egg Metabolism
Before we can run any tests we need to calculate energy produced during the respirometry run we need to convert our mL CO2/hr into joules/hr using conversion factors. The conversion factors were taken from Gessaman and Nagey 1988 and Reid et al 2009.
Egg energy expenditure: Conversion factor from Reid et al. 2009 VO2 converstion factor= 20.1 J/ml O2
Turtle energy expenditure: Conversion factor from Gessaman and Nagy 1988 VCO2 converstion factor= 24.32 KJ/ml CO2
After converting metabolic rates from mLCO2/h to joules/h we need to them subtract the metabolic rates of the whole clutch from the respected gravid female because we only want to examine the gravid females metabolic rate.
full_data_metabolic_rates<- Sterno_All%>%
mutate(Joules_hr_turtles= mL_CO2_hr_turtles*24.32)# we times the ml_CO2_hr_turtles by this conversion factor in order to joules Hr of energy
kable(full_data_metabolic_rates[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
| Turtle_ID | Group | mL_CO2_hr_turtles | Turtle_Mass | ml_O2_min_eggs | whole_clutch_mass | ml_O2_hr_eggs | Joules_hr_turtles |
|---|---|---|---|---|---|---|---|
| ABL | Gravid Female | 4.708550 | 154 | 0.0002582 | 16.9 | 0.0154932 | 114.51194 |
| ACI | Gravid Female | 3.683805 | 111 | 0.0001496 | 14.3 | 0.0089736 | 89.59014 |
| ABU | Gravid Female | 5.171930 | 146 | 0.0002176 | 18.0 | 0.0130554 | 125.78134 |
| ABT | Gravid Female | 5.103395 | 145 | 0.0003070 | 12.4 | 0.0184200 | 124.11457 |
| ACT | Gravid Female | 4.757630 | 124 | 0.0002781 | 14.0 | 0.0166836 | 115.70556 |
| ACO | Gravid Female | 5.281002 | 196 | 0.0003208 | 19.8 | 0.0192456 | 128.43396 |
| AHT | Gravid Female | 3.886640 | 139 | 0.0003126 | 17.0 | 0.0187584 | 94.52308 |
| AHM | Gravid Female | 2.935713 | 100 | 0.0001420 | 11.1 | 0.0085224 | 71.39655 |
| AHL | Gravid Female | 4.439160 | 149 | 0.0003954 | 15.1 | 0.0237246 | 107.96037 |
| AH | Gravid Female | 4.672387 | 126 | 0.0002273 | 11.0 | 0.0136392 | 113.63244 |
full_data_metabolic_rates_2<- full_data_metabolic_rates%>%
mutate(Joules_hr_whole_clutch= ml_O2_hr_eggs*20.1)
kable(full_data_metabolic_rates_2[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
| Turtle_ID | Group | mL_CO2_hr_turtles | Turtle_Mass | ml_O2_min_eggs | whole_clutch_mass | ml_O2_hr_eggs | Joules_hr_turtles | Joules_hr_whole_clutch |
|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Female | 4.708550 | 154 | 0.0002582 | 16.9 | 0.0154932 | 114.51194 | 0.3114133 |
| ACI | Gravid Female | 3.683805 | 111 | 0.0001496 | 14.3 | 0.0089736 | 89.59014 | 0.1803694 |
| ABU | Gravid Female | 5.171930 | 146 | 0.0002176 | 18.0 | 0.0130554 | 125.78134 | 0.2624135 |
| ABT | Gravid Female | 5.103395 | 145 | 0.0003070 | 12.4 | 0.0184200 | 124.11457 | 0.3702420 |
| ACT | Gravid Female | 4.757630 | 124 | 0.0002781 | 14.0 | 0.0166836 | 115.70556 | 0.3353404 |
| ACO | Gravid Female | 5.281002 | 196 | 0.0003208 | 19.8 | 0.0192456 | 128.43396 | 0.3868366 |
| AHT | Gravid Female | 3.886640 | 139 | 0.0003126 | 17.0 | 0.0187584 | 94.52308 | 0.3770438 |
| AHM | Gravid Female | 2.935713 | 100 | 0.0001420 | 11.1 | 0.0085224 | 71.39655 | 0.1713002 |
| AHL | Gravid Female | 4.439160 | 149 | 0.0003954 | 15.1 | 0.0237246 | 107.96037 | 0.4768645 |
| AH | Gravid Female | 4.672387 | 126 | 0.0002273 | 11.0 | 0.0136392 | 113.63244 | 0.2741479 |
adjusting_metabolic_rates_gravid_females<- full_data_metabolic_rates_2%>%
mutate(adj_energy_Joules_turtles=Joules_hr_turtles-Joules_hr_whole_clutch)
kable(adjusting_metabolic_rates_gravid_females[1:10,],format = "pandoc", caption = 'Table 1. Adjusted metabolic rates for Eastern Musk Turtles.')
| Turtle_ID | Group | mL_CO2_hr_turtles | Turtle_Mass | ml_O2_min_eggs | whole_clutch_mass | ml_O2_hr_eggs | Joules_hr_turtles | Joules_hr_whole_clutch | adj_energy_Joules_turtles |
|---|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Female | 4.708550 | 154 | 0.0002582 | 16.9 | 0.0154932 | 114.51194 | 0.3114133 | 114.20052 |
| ACI | Gravid Female | 3.683805 | 111 | 0.0001496 | 14.3 | 0.0089736 | 89.59014 | 0.1803694 | 89.40977 |
| ABU | Gravid Female | 5.171930 | 146 | 0.0002176 | 18.0 | 0.0130554 | 125.78134 | 0.2624135 | 125.51892 |
| ABT | Gravid Female | 5.103395 | 145 | 0.0003070 | 12.4 | 0.0184200 | 124.11457 | 0.3702420 | 123.74432 |
| ACT | Gravid Female | 4.757630 | 124 | 0.0002781 | 14.0 | 0.0166836 | 115.70556 | 0.3353404 | 115.37022 |
| ACO | Gravid Female | 5.281002 | 196 | 0.0003208 | 19.8 | 0.0192456 | 128.43396 | 0.3868366 | 128.04712 |
| AHT | Gravid Female | 3.886640 | 139 | 0.0003126 | 17.0 | 0.0187584 | 94.52308 | 0.3770438 | 94.14604 |
| AHM | Gravid Female | 2.935713 | 100 | 0.0001420 | 11.1 | 0.0085224 | 71.39655 | 0.1713002 | 71.22525 |
| AHL | Gravid Female | 4.439160 | 149 | 0.0003954 | 15.1 | 0.0237246 | 107.96037 | 0.4768645 | 107.48351 |
| AH | Gravid Female | 4.672387 | 126 | 0.0002273 | 11.0 | 0.0136392 | 113.63244 | 0.2741479 | 113.35830 |
Juveniles_Out <- adjusting_metabolic_rates_gravid_females[-c(14,15,16,17,18),] # taking the juveniles out because they have such different metabolic rates doesnt make sense to try to compare them to adults
head(Juveniles_Out)
Data Description
Below is a description of all the factor variables included within my data set.
Turtle_ID: 54 total individuals
Group: Gravid Females, Males, Non-Gravid Females
mlCO2/hr turtles: measured metabolic rates
Turtle_Mass: Individual turtle mass to the nearest gram
mlO2/min eggs: measured metabolic rates for whole clutch of eggs
Whole clutch mass: reported weigths(g) of the entire clutch for each gravid female
mlO2/hr eggs: measured metabolic rates for whole clutch of eggs
Joules/hr turtles: calculated joules per hour used my indivudal turtles using the conversion factor
Joules/hr whole clutch: calculated joules per hour used by the whole clutch from each gravid female
adj_energy_joules_turtles: subtracting the joules/hr for the clutch from each of the gravid females
Joules_energy_sterno<- Juveniles_Out%>%
mutate(adj_mass_turtles=Turtle_Mass-whole_clutch_mass)
kable(Joules_energy_sterno[1:10,],format = "pandoc", caption = 'Table 6. A knitr kable Gravid SMR Musk Turtle data.')
| Turtle_ID | Group | mL_CO2_hr_turtles | Turtle_Mass | ml_O2_min_eggs | whole_clutch_mass | ml_O2_hr_eggs | Joules_hr_turtles | Joules_hr_whole_clutch | adj_energy_Joules_turtles | adj_mass_turtles |
|---|---|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Female | 4.708550 | 154 | 0.0002582 | 16.9 | 0.0154932 | 114.51194 | 0.3114133 | 114.20052 | 137.1 |
| ACI | Gravid Female | 3.683805 | 111 | 0.0001496 | 14.3 | 0.0089736 | 89.59014 | 0.1803694 | 89.40977 | 96.7 |
| ABU | Gravid Female | 5.171930 | 146 | 0.0002176 | 18.0 | 0.0130554 | 125.78134 | 0.2624135 | 125.51892 | 128.0 |
| ABT | Gravid Female | 5.103395 | 145 | 0.0003070 | 12.4 | 0.0184200 | 124.11457 | 0.3702420 | 123.74432 | 132.6 |
| ACT | Gravid Female | 4.757630 | 124 | 0.0002781 | 14.0 | 0.0166836 | 115.70556 | 0.3353404 | 115.37022 | 110.0 |
| ACO | Gravid Female | 5.281002 | 196 | 0.0003208 | 19.8 | 0.0192456 | 128.43396 | 0.3868366 | 128.04712 | 176.2 |
| AHT | Gravid Female | 3.886640 | 139 | 0.0003126 | 17.0 | 0.0187584 | 94.52308 | 0.3770438 | 94.14604 | 122.0 |
| AHM | Gravid Female | 2.935713 | 100 | 0.0001420 | 11.1 | 0.0085224 | 71.39655 | 0.1713002 | 71.22525 | 88.9 |
| AHL | Gravid Female | 4.439160 | 149 | 0.0003954 | 15.1 | 0.0237246 | 107.96037 | 0.4768645 | 107.48351 | 133.9 |
| AH | Gravid Female | 4.672387 | 126 | 0.0002273 | 11.0 | 0.0136392 | 113.63244 | 0.2741479 | 113.35830 | 115.0 |
X.mean <- mean(Joules_energy_sterno$adj_mass_turtles) #mean of the covariate
model_SMR <- lm(adj_energy_Joules_turtles ~ adj_mass_turtles+ Group, data=Joules_energy_sterno)
pred <- predict(model_SMR)
plot_SMR<- ggplot(data = cbind(Joules_energy_sterno, pred),
aes(adj_mass_turtles, adj_energy_Joules_turtles, lty=Group, pch=Group, colour=Group)) + geom_point(size=3.5) +
geom_line(aes(y=pred), size=1.5)+
geom_vline(xintercept = X.mean, alpha = 0.15)+
xlab("Adjusted Mass (g)")+
ylab("Metabolic Rate (Joules/hr)")+
scale_colour_manual(values=c("grey27", "gray42", "gray67"))+
theme_classic(base_size = 15)
plot_SMR+labs(colour= "Sex", linetype="Sex", pch="Group")
X.mean <- mean(Joules_energy_sterno$adj_mass_turtles) #mean of the covariate
model_SMR <- lm(adj_energy_Joules_turtles ~ adj_mass_turtles+ Group, data=Joules_energy_sterno)
pred <- predict(model_SMR)
plot_SMR2<- ggplot(data = cbind(Joules_energy_sterno, pred),
aes(adj_mass_turtles, adj_energy_Joules_turtles, lty=Group, pch=Group)) + geom_point(size=3.5) +
geom_line(aes(y=pred), size=1.5)+
geom_vline(xintercept = X.mean, alpha = 0.15)+
xlab("Adjusted Mass (g)")+
ylab("Metabolic Rate (Joules/hr)")+
theme_classic(base_size = 15)
plot_SMR+ guides(fill = guide_legend(keywidth = 1, keyheight = 1),
linetype=guide_legend(keywidth = 4, keyheight = 1),
colour=guide_legend(keywidth = 4, keyheight = 1))
gravid_plot<- plot_SMR+ scale_x_continuous(breaks = c(50, 60, 70, 80,90, 100, 110, 120,130,140,150,160,170,180,190))+scale_y_continuous(breaks=c(20, 30, 40,50,60,70,80,90,100,110,120,130,140,150,160,170,180))
gravid_plot+ guides(fill = guide_legend(keywidth = 1, keyheight = 1, cex=0.75),
linetype=guide_legend(keywidth = 4, keyheight = 1),
colour=guide_legend(keywidth = 4, keyheight = 1))+
theme(legend.position = c(.14,.90),legend.box.background = element_rect(colour = "black"),
axis.text.x = element_text(vjust=0.5, size = 12),
axis.text.y = element_text(vjust = 0.5, size=12),
axis.title.x = element_text(size=14),
axis.title.y= element_text(size=14),
legend.text = element_text(color = "black", size = 14))+
labs(caption = "Figure 1: Metabolic rates for gravid females (circle), males (triangle), and non-gravid females (square).Mean gravid female
metabolic rate adjusted for whole clutch metabolic rate (Joules/hr) and whole clutch mass (g).Mean whole metabolic rate for males
and non-gravid females for a 48-hour cycle.The line running at about 118 grams represents the adjusted means for the three
groups.")+
theme(plot.caption = element_text(hjust = 0, size=14))
All turtles have a positive correlation in metabolic rates (joules/hr) while accounting for the adjusted turtle mass (subtracting the gravid female’s clutch mass from her mass in order to get the actual mass of the female). From the graph it looks as though gravid females have a higher metabolic rate then do males and non-gravid females for the the reproductive season. We will run an ANCOVA with a pairwise test to determine if this is the case for these turtles.
Before running an ANCOVA and a pairwise test I ran the an autoplot to check for potential outliers. Here we see in the normal Q-Q plot that three values (16,15,36) could be potential outliers, however, they do not seem to deviate from the line too much so they may be okay.The first and third plot do not show any signficant pattern which is good.
autoplot(model_SMR)
I ran an ANCOVA with adjusted means analysis in order to determine the average metabolic rates for each group while accounting for the covariate of body mass.
smr<- lm(adj_energy_Joules_turtles~ adj_mass_turtles+Group, data=Joules_energy_sterno, digits=5)
anova(smr)
kable(anova(smr), format = "pandoc", caption ='Table 1. A summary kable displaying ANOVA summary table.')
| Df | Sum Sq | Mean Sq | F value | Pr(>F) | |
|---|---|---|---|---|---|
| adj_mass_turtles | 1 | 9959.259 | 9959.2592 | 24.587475 | 1.06e-05 |
| Group | 2 | 6550.128 | 3275.0639 | 8.085496 | 1.00e-03 |
| Residuals | 45 | 18227.437 | 405.0542 | NA | NA |
The ANCOVA results support the linear plot above in that group (gravid female, male, non-gravid female) is signficant in determing metabolic rates of the indivdual turtle.The adjusted mass also was signficantly correlated with metabolic rates of the turtles (joules/hr) with a p-value< 0.05.
In order to adjust for the difference in mass of the three groups of turtles we need to use the package library(emmeans) to run our model.
library(emmeans)
adj_turtles_1<-emmeans(smr, ~ adj_mass_turtles:Group, digits=3)
adj_turtles_1
## adj_mass_turtles Group emmean SE df lower.CL upper.CL
## 118 Gravid Female 103.4 5.61 45 92.1 114.7
## 118 Male 83.0 4.76 45 73.4 92.6
## 118 Non-Gravid Female 74.1 4.74 45 64.5 83.6
##
## Confidence level used: 0.95
options(digits=3)
pairs(adj_turtles_1)
## contrast estimate
## 118.30612244898,Gravid Female - 118.30612244898,Male 20.38
## 118.30612244898,Gravid Female - 118.30612244898,Non-Gravid Female 29.29
## 118.30612244898,Male - 118.30612244898,Non-Gravid Female 8.91
## SE df t.ratio p.value
## 7.39 45 2.760 0.0220
## 7.35 45 3.990 0.0010
## 6.72 45 1.330 0.3880
##
## P value adjustment: tukey method for comparing a family of 3 estimates
After adjusting for the means of the metabolic rates we can now run a pairwise analysis to see if there were any differences among the group. Here we see that we get a signficant diffence between gravid females and males (p-value-0.022). A signficant difference is also seen between gravid females and non-gravid females (p-value=0.001). A nonsignficant difference is reported when looking at males and non-gravid females (p-value=0.388).
Before plotting the data out or running a glm we need to adjust for female body mass (weight ranges for this group ranged from 100-196g)
Time_Scale_2 <- read_csv("Time_Scale_2.csv")
days_2<- Time_Scale_2[ -c( 7,14,19), ]
#Adjusted means
#mean of the covariate,
X.mean <- mean(Time_Scale_2$Female_Mass_g)
#equal slopes ANCOVA
model2 <- lm(SMR_ml_CO2_hr ~ Female_Mass_g, Time_Scale_2)
anova(model2)
summary(model2)
##
## Call:
## lm(formula = SMR_ml_CO2_hr ~ Female_Mass_g, data = Time_Scale_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.0400 -0.5956 -0.0304 0.4160 2.9148
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.11968 0.73805 1.52 0.13508
## Female_Mass_g 0.02136 0.00537 3.98 0.00021 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.958 on 54 degrees of freedom
## Multiple R-squared: 0.226, Adjusted R-squared: 0.212
## F-statistic: 15.8 on 1 and 54 DF, p-value: 0.00021
#fits linear prediction lines (equal slopes)
pred1 <- predict(model2)
#plot same slopes model and show the adjusted mean using a dashed line
ggplot(data = cbind(Time_Scale_2, pred1), aes(x= Female_Mass_g , y= SMR_ml_CO2_hr))+
geom_point(aes(size = 10))+
geom_line(aes(y=pred1)) +
geom_vline(xintercept = X.mean, linetype ="dashed")+
xlab("Body Mass (g)") + ylab(expression(CO[2]~Production~(mL~h^-1)))+
theme_bw(base_size = 10)+
theme(legend.position = "none")+
ggtitle("Body Mass and VCO2 with Adjusted Mean")+
theme(plot.title = element_text(hjust=0.5))
library(dplyr)
#adjust each data point to the mean of the covariate, along common slope
comm.slope <-coef(model2)[2]
data_adjusted <- Time_Scale_2%>%mutate(adjVCO2=SMR_ml_CO2_hr-(comm.slope)*(Female_Mass_g-X.mean))
mass_plot_2 <- ggplot(data = cbind(data_adjusted, pred1), aes(Female_Mass_g, SMR_ml_CO2_hr)) +
geom_point()+
scale_x_continuous(breaks=c(90,100,110,120,130,140,150,160,170,180,190,200,210))+
geom_vline(xintercept = X.mean, linetype="dashed", alpha = 0.45)+
geom_segment(aes(x=Female_Mass_g, xend=X.mean, y=SMR_ml_CO2_hr, yend=data_adjusted$adjVCO2), size=.25)+
#ggtitle("Points adjusted to mean of mass using common slope")+
theme(plot.title = element_text(size=18))+
xlab(expression(Body~Mass~(g))) +
ylab(expression(CO[2]~Production~(mL~h^-1))) +
geom_line(aes(y=pred1), linetype="solid", size=1) +#common slope of all points
theme(panel.background = element_blank())+
theme(axis.line = element_line(size = 0.5, colour = "black"))+
theme(axis.text.x = element_text(vjust=0.5, size = 14),
axis.text.y = element_text(vjust = 0.5, size=14),
axis.title.x = element_text(size=15),
axis.title.y= element_text(size=15))
mass_plot_2
Fig. # Adjusting 15 gravid females metabolic rates by adjusting each point to the mean of the covariate and fitting them along a common slope
time_plot_adjusted<- ggplot(data = data_adjusted, aes(x = Days_To_Oviposition, y = adjVCO2)) +
geom_point(aes(shape=Status), size=3)+
scale_shape_manual(values = c(16, 1))+
geom_point(aes(x=7, y=3.16), colour="black", pch=2, size=8)+
geom_vline(xintercept = 0, col="black", alpha=0.7, linetype="solid")+
geom_segment(aes(x=-75,xend=-2,y=3.98,yend=3.98), linetype="dashed", alpha=0.7)+
xlab("Days Before Oviposition")+
ylab(expression(CO[2]~Production~(mL~h^-1)))+
theme_classic()
plot_adjusted<-time_plot_adjusted+ scale_x_continuous(breaks = c(-85,-80,-75, -70,-65, -60,-55,-50,-45,-40,-35,-30,-25,-20,-15,-10,-5, 0,5, 10))+
scale_y_continuous(limits=c(2,6.5))+
labs(caption = "Figure 5 : Mass adjusted metabolic rates for 15 females throughtout oviducatal egg retention(GMR) period and post oviductal egg retention
(NGMR) in Eastern Musk Turtles.The dotted line at zero represents a breakbetween metabolic rates taken for pre-oviposition and post-oviposition.
Number of individuals measured throughout time differed due to time of capture and oviposition.")+
theme(legend.position = c(.88,.92),legend.text = element_text(size = 11, colour = "black"), legend.box.background = element_rect(colour = "black", size=1), plot.caption = element_text(hjust = 0, lineheight = 0.9, size=18),
axis.text.x = element_text(vjust=0.5, size = 15),
axis.text.y = element_text(vjust = 0.5, size=15),
axis.title.x = element_text(size=16),
axis.title.y= element_text(size=16))
final_plot<- plot_adjusted + geom_smooth(method = "lm", formula = y ~ poly(x, 3), se = FALSE, colour="black")
final_plot
time_plot<- ggplot(data = days_2, aes(x = Days_To_Oviposition, y = SMR_ml_CO2_hr, colour=Turtle_ID)) +
geom_point()+
geom_smooth(method="lm", se=FALSE)+
scale_shape_manual(values = c(16, 1))+
geom_point(aes(x=7, y=2.942986711), colour="black", pch=2, size=8)+
geom_vline(xintercept = 0, col="black", alpha=0.7, linetype="solid")+
geom_segment(aes(x=-75,xend=-2,y=4.253994859,yend=4.253994859), linetype="dashed", alpha=0.9, colour="black", size=.75)+
xlab("Days Before Oviposition")+
ylab(expression(CO[2]~Production~(mL~h^-1)))+
theme_classic()+
theme(legend.position="none", axis.text.x = element_text(vjust=0.5, size = 14),
axis.text.y = element_text(vjust = 0.5, size=14),
axis.title.x = element_text(size=15),
axis.title.y= element_text(size=15))
plot<-time_plot+ scale_x_continuous(breaks = c(-75, -70,-65, -60,-55,-50,-45,-40,-35,-30,-25,-20,-15,-10,-5, 0,5, 10))+
scale_y_continuous(limits=c(2,6.5))+
labs(caption = "Figure 5 : Whole animal metabolic rates for 15 females throughtout oviducatal egg retention(GMR) period and post oviductal egg retention
(NGMR) in Eastern Musk Turtles.The dotted line at zero represents a break between metabolic rates taken for pre-oviposition and post-oviposition.
Number of individuals measured throughout time differed due to time of capture and oviposition.")
plot
Time_Scale_2 <- read_csv("Time_Scale_2.csv")
adjusting_J<- Time_Scale_2%>%
mutate(Joules_hr_females= SMR_ml_CO2_hr*24.32)# we times the ml_CO2_hr_turtles by this conversion factor in order to joules Hr of energy
kable(adjusting_J[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
| Turtle_ID | Status | Status_2 | SMR_ml_CO2_hr | Days_To_Oviposition | Female_Mass_g | Egg_SMR_ml_O2_hr | Egg_Mass_g | Clutch_Size | Joules_hr_females |
|---|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Metabolism | 1 | 5.38 | -43 | 155 | 0.015 | 16.9 | 4 | 130.7 |
| ABL | Gravid Metabolism | 1 | 4.04 | -25 | 153 | 0.015 | 16.9 | 4 | 98.3 |
| ABT | Gravid Metabolism | 1 | 6.05 | -59 | 149 | 0.018 | 12.4 | 3 | 147.1 |
| ABT | Gravid Metabolism | 1 | 5.29 | -43 | 145 | 0.018 | 12.4 | 3 | 128.8 |
| ABT | Gravid Metabolism | 1 | 4.78 | -33 | 145 | 0.018 | 12.4 | 3 | 116.2 |
| ABT | Gravid Metabolism | 1 | 4.29 | -15 | 139 | 0.018 | 12.4 | 3 | 104.3 |
| ABU | Gravid Metabolism | 1 | 7.08 | -34 | 151 | 0.013 | 18.0 | 4 | 172.3 |
| ABU | Gravid Metabolism | 1 | 4.48 | -17 | 144 | 0.013 | 18.0 | 4 | 108.9 |
| ABU | Gravid Metabolism | 1 | 3.95 | -7 | 144 | 0.013 | 18.0 | 4 | 96.1 |
| ACI | Gravid Metabolism | 1 | 4.49 | -60 | 112 | 0.009 | 14.3 | 4 | 109.3 |
egg_J<-adjusting_J %>%
mutate(Joules_hr_eggs= Egg_SMR_ml_O2_hr*20.1)
kable(egg_J[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
| Turtle_ID | Status | Status_2 | SMR_ml_CO2_hr | Days_To_Oviposition | Female_Mass_g | Egg_SMR_ml_O2_hr | Egg_Mass_g | Clutch_Size | Joules_hr_females | Joules_hr_eggs |
|---|---|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Metabolism | 1 | 5.38 | -43 | 155 | 0.015 | 16.9 | 4 | 130.7 | 0.311 |
| ABL | Gravid Metabolism | 1 | 4.04 | -25 | 153 | 0.015 | 16.9 | 4 | 98.3 | 0.311 |
| ABT | Gravid Metabolism | 1 | 6.05 | -59 | 149 | 0.018 | 12.4 | 3 | 147.1 | 0.370 |
| ABT | Gravid Metabolism | 1 | 5.29 | -43 | 145 | 0.018 | 12.4 | 3 | 128.8 | 0.370 |
| ABT | Gravid Metabolism | 1 | 4.78 | -33 | 145 | 0.018 | 12.4 | 3 | 116.2 | 0.370 |
| ABT | Gravid Metabolism | 1 | 4.29 | -15 | 139 | 0.018 | 12.4 | 3 | 104.3 | 0.370 |
| ABU | Gravid Metabolism | 1 | 7.08 | -34 | 151 | 0.013 | 18.0 | 4 | 172.3 | 0.262 |
| ABU | Gravid Metabolism | 1 | 4.48 | -17 | 144 | 0.013 | 18.0 | 4 | 108.9 | 0.262 |
| ABU | Gravid Metabolism | 1 | 3.95 | -7 | 144 | 0.013 | 18.0 | 4 | 96.1 | 0.262 |
| ACI | Gravid Metabolism | 1 | 4.49 | -60 | 112 | 0.009 | 14.3 | 4 | 109.3 | 0.180 |
glmer_data_mod<-egg_J[,c("Turtle_ID", "Status_2", "Joules_hr_females", "Days_To_Oviposition", "Female_Mass_g", "Joules_hr_eggs","Egg_Mass_g","Clutch_Size")]
corr.macro<-cor(glmer_data_mod[,3:8],method="kendall")
corr.macro
## Joules_hr_females Days_To_Oviposition Female_Mass_g
## Joules_hr_females 1.000 -0.444 0.377
## Days_To_Oviposition -0.444 1.000 -0.193
## Female_Mass_g 0.377 -0.193 1.000
## Joules_hr_eggs 0.507 -0.447 0.354
## Egg_Mass_g 0.417 -0.460 0.335
## Clutch_Size 0.396 -0.527 0.247
## Joules_hr_eggs Egg_Mass_g Clutch_Size
## Joules_hr_females 0.507 0.417 0.396
## Days_To_Oviposition -0.447 -0.460 -0.527
## Female_Mass_g 0.354 0.335 0.247
## Joules_hr_eggs 1.000 0.550 0.674
## Egg_Mass_g 0.550 1.000 0.828
## Clutch_Size 0.674 0.828 1.000
So it looks like we have some correlation occuring between the egg metabolic rate and egg mass and clutch size, so we shall keep egg metabolic rate in. P-values above 0.6 are considered to be correlated
means <- ddply(egg_J, "Status", summarise, rating.mean=mean(Joules_hr_females))
means
ggplot(egg_J, aes(x=Joules_hr_females)) + geom_histogram(binwidth=1, colour="black", fill="white") +
facet_grid(Status ~ .) +
scale_x_continuous(breaks=seq(0,30,5)) +
ggtitle("Poisson Distributions With Differing Means") +
geom_vline(data=means, aes(xintercept=rating.mean), linetype="dashed", size=1, colour="red")
The top graph looks to be normally distributed meaning we should run a gaussion model
non_gravid_Out <- egg_J[-c(42,43,44,45,46,47,48,49,50,51,52,53,54,55,56),]# taking out non-gravid because we just want to look at gravid metabolic rates of females
#CANDIDATE MODEL SET FOR AIC CRITERIA
cand.models <- list()
cand.models[[1]]<-glmer(Joules_hr_females~ Days_To_Oviposition+ Joules_hr_eggs+ Female_Mass_g+ Egg_Mass_g +(1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)# uber global model
cand.models[[2]]<-glmer(Joules_hr_females~ Days_To_Oviposition+ Joules_hr_eggs+ Egg_Mass_g+ (1|Turtle_ID), family= "gaussian" (link="log"),data=non_gravid_Out)# only looking at affects of eggs
cand.models[[3]]<-glmer(Joules_hr_females~ Days_To_Oviposition+ Female_Mass_g+ (1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)# taking out factor of eggs
cand.models[[4]]<-glmer(Joules_hr_females~ Days_To_Oviposition+ (1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)# just looking at days leading up to oviposition
## boundary (singular) fit: see ?isSingular
cand.models[[5]]<- glmer(Joules_hr_females~ (1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)# null model
Modname <-paste("m", 1:length(cand.models), sep = "")
aictab(cand.set = cand.models, modnames = Modname, second.ord = TRUE)
so model three is the best model for fitting this data set
best_model<-glmer(Joules_hr_females~ Days_To_Oviposition+ Female_Mass_g+ (1|Turtle_ID), family="gaussian" (link="log"),data=non_gravid_Out)
summary(best_model)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: gaussian ( log )
## Formula: Joules_hr_females ~ Days_To_Oviposition + Female_Mass_g + (1 |
## Turtle_ID)
## Data: non_gravid_Out
##
## AIC BIC logLik deviance df.resid
## 374 382 -182 364 36
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.7530 -0.6441 -0.0152 0.3313 3.0159
##
## Random effects:
## Groups Name Variance Std.Dev.
## Turtle_ID (Intercept) 0 0.0
## Residual 396 19.9
## Number of obs: 41, groups: Turtle_ID, 15
##
## Fixed effects:
## Estimate Std. Error t value Pr(>|z|)
## (Intercept) 4.09596 0.15319 26.74 < 2e-16 ***
## Days_To_Oviposition -0.00246 0.00147 -1.67 0.09569 .
## Female_Mass_g 0.00359 0.00105 3.42 0.00063 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) Dy_T_O
## Dys_T_Ovpst 0.172
## Femal_Mss_g -0.934 0.139
## convergence code: 0
## boundary (singular) fit: see ?isSingular
Days to leading up to oviposition was not signficant as was shown in the figure above. Female body mass is signficant in this case as well which is why we had to adjust for it.
Testing to see if there are any differences between the average metabolic rate of each 15 gravid females pre-ovipositional metabolic rate and her post-ovipositional metabolic rate with female body mass as the covariate
Time_Scale_2 <- read_csv("Time_Scale_2.csv")
adjusting_J<- Time_Scale_2%>%
mutate(Joules_hr_females= SMR_ml_CO2_hr*24.32)# we times the ml_CO2_hr_turtles by this conversion factor in order to joules Hr of energy
kable(adjusting_J[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
| Turtle_ID | Status | Status_2 | SMR_ml_CO2_hr | Days_To_Oviposition | Female_Mass_g | Egg_SMR_ml_O2_hr | Egg_Mass_g | Clutch_Size | Joules_hr_females |
|---|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Metabolism | 1 | 5.38 | -43 | 155 | 0.015 | 16.9 | 4 | 130.7 |
| ABL | Gravid Metabolism | 1 | 4.04 | -25 | 153 | 0.015 | 16.9 | 4 | 98.3 |
| ABT | Gravid Metabolism | 1 | 6.05 | -59 | 149 | 0.018 | 12.4 | 3 | 147.1 |
| ABT | Gravid Metabolism | 1 | 5.29 | -43 | 145 | 0.018 | 12.4 | 3 | 128.8 |
| ABT | Gravid Metabolism | 1 | 4.78 | -33 | 145 | 0.018 | 12.4 | 3 | 116.2 |
| ABT | Gravid Metabolism | 1 | 4.29 | -15 | 139 | 0.018 | 12.4 | 3 | 104.3 |
| ABU | Gravid Metabolism | 1 | 7.08 | -34 | 151 | 0.013 | 18.0 | 4 | 172.3 |
| ABU | Gravid Metabolism | 1 | 4.48 | -17 | 144 | 0.013 | 18.0 | 4 | 108.9 |
| ABU | Gravid Metabolism | 1 | 3.95 | -7 | 144 | 0.013 | 18.0 | 4 | 96.1 |
| ACI | Gravid Metabolism | 1 | 4.49 | -60 | 112 | 0.009 | 14.3 | 4 | 109.3 |
egg_J<-adjusting_J %>%
mutate(Joules_hr_eggs= Egg_SMR_ml_O2_hr*20.1)
kable(egg_J[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
| Turtle_ID | Status | Status_2 | SMR_ml_CO2_hr | Days_To_Oviposition | Female_Mass_g | Egg_SMR_ml_O2_hr | Egg_Mass_g | Clutch_Size | Joules_hr_females | Joules_hr_eggs |
|---|---|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Metabolism | 1 | 5.38 | -43 | 155 | 0.015 | 16.9 | 4 | 130.7 | 0.311 |
| ABL | Gravid Metabolism | 1 | 4.04 | -25 | 153 | 0.015 | 16.9 | 4 | 98.3 | 0.311 |
| ABT | Gravid Metabolism | 1 | 6.05 | -59 | 149 | 0.018 | 12.4 | 3 | 147.1 | 0.370 |
| ABT | Gravid Metabolism | 1 | 5.29 | -43 | 145 | 0.018 | 12.4 | 3 | 128.8 | 0.370 |
| ABT | Gravid Metabolism | 1 | 4.78 | -33 | 145 | 0.018 | 12.4 | 3 | 116.2 | 0.370 |
| ABT | Gravid Metabolism | 1 | 4.29 | -15 | 139 | 0.018 | 12.4 | 3 | 104.3 | 0.370 |
| ABU | Gravid Metabolism | 1 | 7.08 | -34 | 151 | 0.013 | 18.0 | 4 | 172.3 | 0.262 |
| ABU | Gravid Metabolism | 1 | 4.48 | -17 | 144 | 0.013 | 18.0 | 4 | 108.9 | 0.262 |
| ABU | Gravid Metabolism | 1 | 3.95 | -7 | 144 | 0.013 | 18.0 | 4 | 96.1 | 0.262 |
| ACI | Gravid Metabolism | 1 | 4.49 | -60 | 112 | 0.009 | 14.3 | 4 | 109.3 | 0.180 |
adj_energy_gravid<-egg_J %>%
mutate(adj_J_females=Joules_hr_females-Joules_hr_eggs)
kable(adj_energy_gravid[1:13,],format = "pandoc", caption = 'Table 7. A knitr kable Gravid SMR Musk Turtle data.')
| Turtle_ID | Status | Status_2 | SMR_ml_CO2_hr | Days_To_Oviposition | Female_Mass_g | Egg_SMR_ml_O2_hr | Egg_Mass_g | Clutch_Size | Joules_hr_females | Joules_hr_eggs | adj_J_females |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Metabolism | 1 | 5.38 | -43 | 155 | 0.015 | 16.9 | 4 | 130.7 | 0.311 | 130.4 |
| ABL | Gravid Metabolism | 1 | 4.04 | -25 | 153 | 0.015 | 16.9 | 4 | 98.3 | 0.311 | 98.0 |
| ABT | Gravid Metabolism | 1 | 6.05 | -59 | 149 | 0.018 | 12.4 | 3 | 147.1 | 0.370 | 146.8 |
| ABT | Gravid Metabolism | 1 | 5.29 | -43 | 145 | 0.018 | 12.4 | 3 | 128.8 | 0.370 | 128.4 |
| ABT | Gravid Metabolism | 1 | 4.78 | -33 | 145 | 0.018 | 12.4 | 3 | 116.2 | 0.370 | 115.8 |
| ABT | Gravid Metabolism | 1 | 4.29 | -15 | 139 | 0.018 | 12.4 | 3 | 104.3 | 0.370 | 104.0 |
| ABU | Gravid Metabolism | 1 | 7.08 | -34 | 151 | 0.013 | 18.0 | 4 | 172.3 | 0.262 | 172.0 |
| ABU | Gravid Metabolism | 1 | 4.48 | -17 | 144 | 0.013 | 18.0 | 4 | 108.9 | 0.262 | 108.6 |
| ABU | Gravid Metabolism | 1 | 3.95 | -7 | 144 | 0.013 | 18.0 | 4 | 96.1 | 0.262 | 95.9 |
| ACI | Gravid Metabolism | 1 | 4.49 | -60 | 112 | 0.009 | 14.3 | 4 | 109.3 | 0.180 | 109.1 |
| ACI | Gravid Metabolism | 1 | 3.68 | -44 | 112 | 0.009 | 14.3 | 4 | 89.5 | 0.180 | 89.3 |
| ACI | Gravid Metabolism | 1 | 2.83 | -36 | 111 | 0.009 | 14.3 | 4 | 68.8 | 0.180 | 68.6 |
| ACI | Gravid Metabolism | 1 | 3.73 | -17 | 109 | 0.009 | 14.3 | 4 | 90.8 | 0.180 | 90.6 |
adj_gravid_mass<-adj_energy_gravid %>%
mutate(adj_mass=Female_Mass_g-Egg_Mass_g)
kable(adj_gravid_mass[1:13,],format = "pandoc", caption = 'Table 8. A knitr kable Gravid SMR Musk Turtle data.')
| Turtle_ID | Status | Status_2 | SMR_ml_CO2_hr | Days_To_Oviposition | Female_Mass_g | Egg_SMR_ml_O2_hr | Egg_Mass_g | Clutch_Size | Joules_hr_females | Joules_hr_eggs | adj_J_females | adj_mass |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ABL | Gravid Metabolism | 1 | 5.38 | -43 | 155 | 0.015 | 16.9 | 4 | 130.7 | 0.311 | 130.4 | 138.1 |
| ABL | Gravid Metabolism | 1 | 4.04 | -25 | 153 | 0.015 | 16.9 | 4 | 98.3 | 0.311 | 98.0 | 136.1 |
| ABT | Gravid Metabolism | 1 | 6.05 | -59 | 149 | 0.018 | 12.4 | 3 | 147.1 | 0.370 | 146.8 | 136.6 |
| ABT | Gravid Metabolism | 1 | 5.29 | -43 | 145 | 0.018 | 12.4 | 3 | 128.8 | 0.370 | 128.4 | 132.6 |
| ABT | Gravid Metabolism | 1 | 4.78 | -33 | 145 | 0.018 | 12.4 | 3 | 116.2 | 0.370 | 115.8 | 132.6 |
| ABT | Gravid Metabolism | 1 | 4.29 | -15 | 139 | 0.018 | 12.4 | 3 | 104.3 | 0.370 | 104.0 | 126.6 |
| ABU | Gravid Metabolism | 1 | 7.08 | -34 | 151 | 0.013 | 18.0 | 4 | 172.3 | 0.262 | 172.0 | 133.0 |
| ABU | Gravid Metabolism | 1 | 4.48 | -17 | 144 | 0.013 | 18.0 | 4 | 108.9 | 0.262 | 108.6 | 126.0 |
| ABU | Gravid Metabolism | 1 | 3.95 | -7 | 144 | 0.013 | 18.0 | 4 | 96.1 | 0.262 | 95.9 | 126.0 |
| ACI | Gravid Metabolism | 1 | 4.49 | -60 | 112 | 0.009 | 14.3 | 4 | 109.3 | 0.180 | 109.1 | 97.7 |
| ACI | Gravid Metabolism | 1 | 3.68 | -44 | 112 | 0.009 | 14.3 | 4 | 89.5 | 0.180 | 89.3 | 97.7 |
| ACI | Gravid Metabolism | 1 | 2.83 | -36 | 111 | 0.009 | 14.3 | 4 | 68.8 | 0.180 | 68.6 | 96.7 |
| ACI | Gravid Metabolism | 1 | 3.73 | -17 | 109 | 0.009 | 14.3 | 4 | 90.8 | 0.180 | 90.6 | 94.7 |
gravid_data_2 <- read_csv("gravid_data_2.csv")
x1 = factor(gravid_data_2$Status, levels=c("Pre-Oviposition", "Post-Oviposition"))
line<-ggplot(data = gravid_data_2, aes(x =x1, y = SMR, group = Turtle_ID)) +
geom_line(lwd=0.75, alpha=0.6) +
scale_y_continuous(limits=c(2,5.5))+
geom_point(alpha=0.6)+
xlab("Time")+
ylab(expression(CO[2]~Production~(mL~h^-1)))+
theme_bw()+
labs(caption =
"Figure 4: Whole metabolic rates (joules/hr) pre and post oviposition A) whole female gravid
metabolic rates and non-gravid metabolic rates for 15 total individuals.")+
theme( axis.text.x = element_text(vjust=0.5, size = 14),
axis.text.y = element_text(vjust = 0.5, size=14),
axis.title.x = element_text(size=15),
axis.title.y= element_text(size=15))
line
smr<- lm(adj_J_females~ adj_mass+Status, data=adj_gravid_mass, REML = FALSE, digits=5)
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
## extra arguments 'REML', 'digits' will be disregarded
anova(smr)
adj_turtles_1<-emmeans(smr, ~ adj_mass:Status, digits=3)
adj_turtles_1
## adj_mass Status emmean SE df lower.CL upper.CL
## 125 Gravid Metabolism 106.7 3.05 53 100.5 112.8
## 125 Non-Gravid Metabolism 71.6 5.04 53 61.5 81.7
##
## Confidence level used: 0.95
pairs(adj_turtles_1)
## contrast
## 124.883928571429,Gravid Metabolism - 124.883928571429,Non-Gravid Metabolism
## estimate SE df t.ratio p.value
## 35 5.89 53 5.950 <.0001
Linear regression was used to determine whether whole clutch mass, clutch size (number of eggs per clutch), whole clutch metabolic rate, female body mass, or mean egg width significantly influenced the total cost of oviductal egg retention (AGMR – POMR).
gravid_data <- read_csv("gravid_data.csv")
gravid_j<- gravid_data%>%
mutate(Gravid_J= SMR_gravid*24.32)# we times the ml_CO2_hr_turtles by this conversion factor in order to joules Hr of energy
kable(gravid_j[1:10,],format = "pandoc", caption = 'Table 1. A knitr kable metabolic rates of Musk Turtle data.')
| Turtle_ID | Turtle_ID_2 | SMR_gravid | SMR_nongravid | Female_Mass_g | Egg_Mass_g | Clutch_Size | Egg_SMR | Gravid_J |
|---|---|---|---|---|---|---|---|---|
| ABL | 1 | 4.71 | 2.90 | 154 | 16.9 | Four | 0.015 | 114.5 |
| ABT | 2 | 5.10 | 4.21 | 145 | 12.4 | Three | 0.018 | 124.1 |
| ABU | 3 | 5.17 | 3.45 | 146 | 18.0 | Four | 0.013 | 125.8 |
| ACI | 4 | 3.68 | 2.52 | 111 | 14.3 | Four | 0.009 | 89.6 |
| ACT | 5 | 4.76 | 3.43 | 124 | 14.0 | Four | 0.017 | 115.7 |
| ACO | 6 | 5.28 | 2.88 | 196 | 19.8 | Four | 0.019 | 128.4 |
| ABI | 7 | 4.45 | 2.92 | 167 | 15.5 | Four | 0.017 | 108.3 |
| AHM | 8 | 2.94 | 2.73 | 100 | 11.1 | Three | 0.009 | 71.4 |
| AHT | 9 | 3.89 | 2.88 | 139 | 17.0 | Six | 0.019 | 94.5 |
| AHL | 10 | 4.44 | 2.60 | 149 | 15.1 | Five | 0.024 | 108.0 |
egg_J<-gravid_j%>%
mutate(Eggs_J= Egg_SMR*20.1)
kable(egg_J[1:13,],format = "pandoc", caption = 'Table 6. A knitr kable Gravid SMR Musk Turtle data.')
| Turtle_ID | Turtle_ID_2 | SMR_gravid | SMR_nongravid | Female_Mass_g | Egg_Mass_g | Clutch_Size | Egg_SMR | Gravid_J | Eggs_J |
|---|---|---|---|---|---|---|---|---|---|
| ABL | 1 | 4.71 | 2.90 | 154 | 16.9 | Four | 0.015 | 114.5 | 0.311 |
| ABT | 2 | 5.10 | 4.21 | 145 | 12.4 | Three | 0.018 | 124.1 | 0.370 |
| ABU | 3 | 5.17 | 3.45 | 146 | 18.0 | Four | 0.013 | 125.8 | 0.262 |
| ACI | 4 | 3.68 | 2.52 | 111 | 14.3 | Four | 0.009 | 89.6 | 0.180 |
| ACT | 5 | 4.76 | 3.43 | 124 | 14.0 | Four | 0.017 | 115.7 | 0.335 |
| ACO | 6 | 5.28 | 2.88 | 196 | 19.8 | Four | 0.019 | 128.4 | 0.387 |
| ABI | 7 | 4.45 | 2.92 | 167 | 15.5 | Four | 0.017 | 108.3 | 0.343 |
| AHM | 8 | 2.94 | 2.73 | 100 | 11.1 | Three | 0.009 | 71.4 | 0.171 |
| AHT | 9 | 3.89 | 2.88 | 139 | 17.0 | Six | 0.019 | 94.5 | 0.377 |
| AHL | 10 | 4.44 | 2.60 | 149 | 15.1 | Five | 0.024 | 108.0 | 0.477 |
| AIN | 11 | 4.51 | 3.85 | 139 | 10.5 | Three | 0.013 | 109.6 | 0.265 |
| AHO | 12 | 4.43 | 2.04 | 105 | 13.6 | Four | 0.017 | 107.8 | 0.345 |
| AH | 13 | 4.67 | 2.73 | 126 | 11.0 | Three | 0.014 | 113.6 | 0.274 |
modlm<- lm(Gravid_J~ Egg_Mass_g+ Female_Mass_g+Clutch_Size, data=egg_J)
summary(modlm)
##
## Call:
## lm(formula = Gravid_J ~ Egg_Mass_g + Female_Mass_g + Clutch_Size,
## data = egg_J)
##
## Residuals:
## Min 1Q Median 3Q Max
## -22.06 -3.64 0.00 9.45 12.71
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 53.099 34.011 1.56 0.16
## Egg_Mass_g -0.423 3.358 -0.13 0.90
## Female_Mass_g 0.411 0.247 1.66 0.13
## Clutch_SizeFour 7.838 14.688 0.53 0.61
## Clutch_SizeSix -8.524 20.800 -0.41 0.69
## Clutch_SizeThree 3.947 17.674 0.22 0.83
## Clutch_SizeTwo -29.835 29.447 -1.01 0.34
##
## Residual standard error: 13.4 on 8 degrees of freedom
## Multiple R-squared: 0.624, Adjusted R-squared: 0.342
## F-statistic: 2.21 on 6 and 8 DF, p-value: 0.147
options(na.action = "na.fail")
pairs(egg_J[,3:6], lower.panel = NULL)
eggs.all.parms<-lm(Gravid_J~Clutch_Size+Egg_Mass_g+Female_Mass_g, data = egg_J)
# the dredge function fits all combinations
# of the variables in the GPA.all.parms model fit above
results<-dredge(eggs.all.parms)
## Fixed term is "(Intercept)"
results
importance(results)
## Female_Mass_g Egg_Mass_g Clutch_Size
## Sum of weights: 0.52 0.5 <0.01
## N containing models: 4 4 4
modlm<- lm(Gravid_J~ Female_Mass_g+ Egg_Mass_g, data=egg_J)
summary(modlm)
##
## Call:
## lm(formula = Gravid_J ~ Female_Mass_g + Egg_Mass_g, data = egg_J)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.73 -9.48 -1.14 9.99 18.82
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 47.907 22.105 2.17 0.051 .
## Female_Mass_g 0.240 0.182 1.32 0.212
## Egg_Mass_g 1.820 1.419 1.28 0.224
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 14 on 12 degrees of freedom
## Multiple R-squared: 0.386, Adjusted R-squared: 0.283
## F-statistic: 3.77 on 2 and 12 DF, p-value: 0.0538
modlm<- lm(Gravid_J~ Clutch_Size, data=egg_J)
summary(modlm)
##
## Call:
## lm(formula = Gravid_J ~ Clutch_Size, data = egg_J)
##
## Residuals:
## Min 1Q Median 3Q Max
## -33.30 -4.20 0.00 6.94 19.42
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 107.96 16.19 6.67 5.6e-05 ***
## Clutch_SizeFour 4.28 17.17 0.25 0.81
## Clutch_SizeSix -13.44 22.90 -0.59 0.57
## Clutch_SizeThree -3.26 18.10 -0.18 0.86
## Clutch_SizeTwo -29.71 22.90 -1.30 0.22
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 16.2 on 10 degrees of freedom
## Multiple R-squared: 0.318, Adjusted R-squared: 0.0447
## F-statistic: 1.16 on 4 and 10 DF, p-value: 0.383
modlm<- lm(Gravid_J~ Egg_Mass_g, data=egg_J)
summary(modlm)
##
## Call:
## lm(formula = Gravid_J ~ Egg_Mass_g, data = egg_J)
##
## Residuals:
## Min 1Q Median 3Q Max
## -26.81 -6.80 2.46 8.57 22.20
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 66.57 17.46 3.81 0.0022 **
## Egg_Mass_g 2.85 1.22 2.34 0.0358 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 14.4 on 13 degrees of freedom
## Multiple R-squared: 0.297, Adjusted R-squared: 0.242
## F-statistic: 5.48 on 1 and 13 DF, p-value: 0.0358
modlm<- lm(Gravid_J~ Female_Mass_g, data=egg_J)
summary(modlm)
##
## Call:
## lm(formula = Gravid_J ~ Female_Mass_g, data = egg_J)
##
## Residuals:
## Min 1Q Median 3Q Max
## -29.80 -8.01 2.04 12.45 16.26
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 55.677 21.781 2.56 0.024 *
## Female_Mass_g 0.369 0.156 2.37 0.034 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 14.4 on 13 degrees of freedom
## Multiple R-squared: 0.301, Adjusted R-squared: 0.248
## F-statistic: 5.61 on 1 and 13 DF, p-value: 0.0341
egg_J$Clutch_Size<- factor(egg_J$Clutch_Size, levels = c("Two", "Three", "Four", "Five","Six"))
plot_grid(plot2,plot4,plot1, plot3, labels=c('A','B','C', 'D'))
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
The energetic cost of oviductal egg retention (AGMR-POMR) was related to whole-clutch mass and female body mass (fig. 4a, F1,14 = 6.86, P=0.02 and fig. 4c, F1,14 = 2.37, P=0.034) such that heavier clutches and heavier females increased gravid female metabolic rate. Clutch size did not significantly relate to GMR (fig.4b, F1,14= 2.15, P=0.17) but clutch mass did influence whole-clutch metabolic rates (fig. 4d, F1,14= 5.31, P=0.04).
Gravid females had a ~40% increase in metabolism while gravid, an increased energetic cost of reproduction associated with oviductal egg retention.
Metabolic costs associated with egg retention were relatively constant across days leading up to oviposition, potentially due to the state of developmental arrest of the embryos.
The energetic costs of oviductal egg retention were affected by the total clutch metabolism and whole clutch mass.
Further, metabolic rates of gravid females were significantly elevated from males and non-gravid females indicating a substantial metabolic cost of reproduction for gravid females.
Eastern Musk Turtles (Sternotherus odoratus) energetic costs towards retaining eggs during oviductal egg production was more than double that of what was observed for Eastern Box Turtles (Terrapene carolina); 16% increase in energy compared to non-gravid energy investments (Clinger 2016).
Our study suggests that allocating reproductive resources towards extended oviductal egg retention is energetically expensive for S. odoratus. Though a costly strategy for gravid musk turtles, oviductal egg retention may offer advantageous characteristics for the clutch offered up by the microclimates in which they are laid. The difference we saw between S. odoratus and T. carolina in metabolic costs (~40% and 16.7% respectively) could be a result of differing life histories, although without additional references it is unclear how costs would change within and among conspecifics. Taxa that have similar life history patterns should have similar energetic costs associated with oviductal egg retention. Furthermore, comparative studies of related taxa that vary in timing of oviductal egg retention will help to determine the consequences and benefits of extended egg retention.